/* 
 * File:   LinkedHashEntry.h
 * Author: igui
 *
 * Created on 28 de mayo de 2011, 08:11 PM
 */

#include "../interfacesCol/HashedKey.h"
#include "../interfacesCol/ICollectible.h"

#ifndef _LINKEDHASHENTRY_H
#define	_LINKEDHASHENTRY_H

// basado en http://www.algolist.net/Data_structures/Hash_table/Chaining
class LinkedHashEntry {
private:
      HashedKey *key; // la clave
      ICollectible *value; // el elemento almacenado
      LinkedHashEntry *next; // el próximo en la lista
public:
      LinkedHashEntry(HashedKey *key, ICollectible *value);
 
      HashedKey *getKey();
      void setKey(HashedKey *);
      ICollectible *getValue();
      void setValue(ICollectible *value);
      LinkedHashEntry *getNext();
      void setNext(LinkedHashEntry *next);
};

#endif	/* _LINKEDHASHENTRY_H */

